using System;
using System.Collections;

using BEGDC.CC.Entity;

namespace BEGDC.CC.BL.CCFlow.CV
{
	/// <summary>
	/// Summary description for ICR.
	/// </summary>
	public interface ICV : ICCFlow
	{
		void Save(Application app, CustomerInfo customer, BusinessPurpose business, Topic topic, SalesTeamInfo salesInfo, 
			LogisticalInfo logist, PaymentInfo payment, IList costmerAttendee, IList ALAttendee, IList sites, IList cost, IList contract);
		void Request(Application app, CustomerInfo customer, BusinessPurpose business, Topic topic, SalesTeamInfo salesInfo, 
			LogisticalInfo logist, PaymentInfo payment, IList costmerAttendee, IList ALAttendee, IList sites, IList cost, 
			IList contract, string catdirector);
		void Assign(long flowID, string nextTransition, string employeeNo, int appID, string comment);
		void Check(long flowID, string nextTransition, string comment);
		void DepartmentHeadApprove(long flowID, string nextTransition, string comment);
		void CODApprove(long flowID, string nextTransition, string comment);
		void CODVPApprove(long flowID, string nextTransition, string comment);
		void Summary(long flowID, string nextTransition, string comment);
		void Close(long flowID, string nextTransition, string comment);
		void DrawBack(long flowID, string comment);
		void Query(long flowID, string step, string comment);
		void ReplyQuery(long flowID, string comment);
		void Suspend(long flowID, string comment);
		void Resume(long flowID, string comment);
		void Archive(long flowID);
		void SubmitSurvey(Application App, BEGDC.CC.Entity.CustomerSurvey survey,IList AnswerList);
		void Callback(long flowID, string comment);
		void Cancel(long flowID, string comment);
		void SaveCloseApp(Application App, IList cost, int paymentId);
		void ReAssign(long flowID, string employeeNo);
		void CopyCV( int appId );
	}	
}
